package com.mf.entity;

import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * <p>
 * 交易表
 * </p>
 *
 * @author mf
 * @since 2024-06-08
 */
@Getter
@Setter@TableName("t_transactions")

public class Transactions implements Serializable {

private static final long serialVersionUID = 1L;

@TableId(value = "id", type = IdType.AUTO)
private Integer id;

/**
* 价格
*/
@NotNull(message = "价格不能为空")
@DecimalMin(value = "1", message = "价格必须大于0")
private BigDecimal price;

/**
* 金额
*/
private BigDecimal amount;

/**
* 日期
*/
@NotBlank(message = "买入时间不能为空")
private String date;

/**
* 交易类型 buy:买入,sell:卖出
*/
@NotBlank(message = "交易类型不能为空")
private String type;

/**
* 类型:为什么买入或卖出 数据字典
*/
@NotBlank(message = "类型不能为空")
private String type2;

/**
* 交易费用
*/
private BigDecimal cost;

/**
* 1:建仓，2:加仓，3:减仓，4:清仓,数据字典
*/
private Integer status;

/**
* 股票代码
*/
@NotBlank(message = "股票代码不能为空")
private String dm;

/**
* 数量
*/
@NotNull(message = "持股数量不能为空")
@DecimalMin(value = "100", message = "持股数量必须大于100")
private Integer quantity;

/**
* 用户id
*/
@NotNull(message = "用户id不能为空")
private Integer userId;

private LocalDateTime createdTime;

private LocalDateTime updateTime;

/**
* 买入备注
*/
private String remark;
        }